home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / prolog / brklyprl.lha / Emulator / scan.h < prev    next >
Encoding:
C/C++ Source or Header  |  1989-04-14  |  730 b   |  28 lines

  1.  
  2. /* Copyright (C) 1988, 1989 Herve' Touati, Aquarius Project, UC Berkeley */
  3.  
  4. /* Copyright Herve' Touati, Aquarius Project, UC Berkeley */
  5.  
  6. enum {SCAN_EOF, SCAN_DEF_PROC, SCAN_DEF_LABEL, SCAN_INSTR, SCAN_TABLE};
  7.  
  8. class Scan : public StringTable {
  9.   int procedure;
  10.   int end;
  11.   void place_pointers();
  12.   char* input_buffer;
  13.   int buffer_size;
  14.   public:
  15.   Scan(int max_len_length = 256) {
  16.     procedure = intern("procedure");
  17.     end = intern("end");
  18.     status = SCAN_INSTR;
  19.     buffer_size = max_len_length;
  20.     input_buffer = new char[max_len_length];
  21.   }
  22.   int status;
  23.   int intern_p0;        /* the internal identifier of p[0] */
  24.   char* p[4];            /* pointers to the four possible fields */
  25.   void next_line();
  26.   void print_state();
  27. };
  28.